package cn.hnc.checkapi.utils;

import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.servlet.http.HttpServletRequest;

public class IpUtil {
   public static String getIpAddr(HttpServletRequest request) {
      String ipAddress = null;

      try {
         ipAddress = request.getHeader("x-forwarded-for");
         if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("Proxy-Client-IP");
         }

         if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("WL-Proxy-Client-IP");
         }

         if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getRemoteAddr();
            if (ipAddress.equals("127.0.0.1")) {
               InetAddress inet = null;

               try {
                  inet = InetAddress.getLocalHost();
               } catch (UnknownHostException var4) {
                  UnknownHostException e = var4;
                  e.printStackTrace();
               }

               ipAddress = inet.getHostAddress();
            }
         }

         if (ipAddress != null && ipAddress.length() > 15 && ipAddress.indexOf(",") > 0) {
            ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
         }
      } catch (Exception var5) {
         ipAddress = "";
      }

      return ipAddress;
   }
}
